package com.smart.upms.sys.feign.fallback;

import com.smart.core.starter.model.R;
import com.smart.upms.sys.api.UserApi;
import com.smart.upms.sys.result.UserInfoResult;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 基于熔断的回调
 *
 * @author guxiaobai
 * @date 2018/12/7 15:45
 */
@Slf4j
@Component
public class UserApiFallback implements UserApi {
    @Setter
    private Throwable cause;

    /**
     * 通过用户名查询用户、角色信息
     *
     * @param username 用户名
     * @return R
     */
    @Override
    public R<UserInfoResult> info(String username) {
        log.error("feign 查询用户信息失败:{}", username, cause);
        return R.error("查询用户信息失败");
    }

}
